home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload Trio 2
/
Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO
/
dir43
/
med300.zip
/
MEUTIL.CLA
< prev
next >
Wrap
Text File
|
1994-02-22
|
7KB
|
157 lines
!▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
!█ █
!█ MEUTIL.CLA █
!█ Miscellaneous utility functions █
!█ █
!█ Revision Number: 1 █
!█ Revision Date : 22-Feb-94 █
!█ █
!█ Revision History █
!█ 1 Created █
!█ █
!▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
MEMBER('MEMOEDIT')
!─────────────────────────────────────────────────────────────────────────
! Local Module Data
!─────────────────────────────────────────────────────────────────────────
_ALERTSW BYTE,EXTERNAL,NAME('_ALERTSW') ! Clarion RTL alert flag
! ════════════════════════════════════════════════════════════════════════
! Un-Alert a key or key range
! ════════════════════════════════════════════════════════════════════════
UnAlert PROCEDURE( isKey1, isKey2 )
CODE
IF OMITTED(2) THEN isKey2 = 0. ! Set default values
IF OMITTED(1) THEN isKey1 = 0. !
UnAlert(isKey1, isKey2) ! Call RTL procedure
RETURN
! ════════════════════════════════════════════════════════════════════════
! Determine whether a key has been ALERTED()
! ════════════════════════════════════════════════════════════════════════
IsAlerted FUNCTION( isKey )
CODE
FindAlert( isKey ) ! Call RTL procedure
RETURN( _ALERTSW ) ! Return global alert flag
!═════════════════════════════════════════════════════════════════════════
! Return larger of two integers
!═════════════════════════════════════════════════════════════════════════
ME_Max FUNCTION( ilArg1, ilArg2 )
CODE
IF (ilArg1 > ilArg2) !
RETURN( ilArg1 ) !
ELSE !
RETURN( ilArg2 ) !
. !
!═════════════════════════════════════════════════════════════════════════
! Return smaller of two integers
!═════════════════════════════════════════════════════════════════════════
ME_Min FUNCTION( ilArg1, ilArg2 )
CODE
IF (ilArg1 < ilArg2) !
RETURN( ilArg1 ) !
ELSE !
RETURN( ilArg2 ) !
. !
!═════════════════════════════════════════════════════════════════════════
! Get a string from user
!═════════════════════════════════════════════════════════════════════════
ME_Entry FUNCTION( sMessage )
! Return:
sInput STRING(80) ! Returned string
! Locals:
ubCol BYTE !
ubOne BYTE(1) !
! Screens:
wScreen SCREEN(8,49),PRE(SCR),SHADOW,CUA,COLOR(112)
!dimensions=25,80,25,80
ROW(1,1) STRING('┌─{47}┐')
ROW(8,1) STRING('└─{47}┘')
REPEAT(6)
ROW(2,1) STRING('│')
ROW(2,49) STRING('│')
.
ssMessage ROW(2,6) STRING(@s38),COLOR(112)
ROW(4,5) ENTRY(@s40),USE(sInput),COLOR(48,78,120)
ROW(6,13) BUTTON(' &Ok '),SHADOW,KEY(EnterKey),USE(?Ok),COLOR(23,71,24,31,79)
COL(29) BUTTON(' &Cancel '),SHADOW,KEY(EscKey),USE(?Cancel),COLOR(23,71,24,31,79)
.
CODE
sInput = '' ! Clear return value
OPEN(wScreen) ! Open screen
SCR:ssMessage = CENTER(sMessage, SIZE(SCR:ssMessage))
LOOP ! Loop
ACCEPT ! Get user input
IF KEYCODE() = EscKey !
sInput = '' !
BREAK !
. !
CASE FIELD() !
OF ?Ok; BREAK !
OF ?Cancel; sInput = ''; BREAK !
. . !
CLOSE(wScreen) ! Close screen
RETURN(sInput) ! Return
!═════════════════════════════════════════════════════════════════════════
! Prompt for a yes/no response
!═════════════════════════════════════════════════════════════════════════
ME_Confirm FUNCTION( sMessage, bbDefault )
! Return:
bbRetVal BYTE !
! Screens:
wScreen SCREEN(7,44),PRE(SCR),CENTER,SHADOW,CUA,TRN,COLOR(112)
!dimensions=25,80,25,80
ROW(1,1) STRING('┌─{42}┐')
ROW(7,1) STRING('└─{42}┘')
REPEAT(5)
ROW(2,1) STRING('│')
ROW(2,44) STRING('│')
.
ssMessage ROW(3,3) STRING(@s40),COLOR(112)
ROW(5,12) BUTTON(' &Yes '),SHADOW,KEY(EnterKey),USE(?Yes),COLOR(23,71,24,31,79)
COL(26) BUTTON(' &No '),SHADOW,KEY(EnterKey),USE(?No),COLOR(23,71,24,31,79)
.
CODE
bbRetVal = 0 ! Clear return value
IF OMITTED(2) THEN bbDefault = 1. ! Default to 'Yes'
OPEN(wScreen) ! Open screen
SCR:ssMessage = CENTER(sMessage, SIZE(SCR:ssMessage))
EXECUTE bbDefault+1 ! Set default choice
SELECT(?No) !
SELECT(?Yes) !
. !
LOOP ! Loop
DISPLAY ! Update screen
ACCEPT ! Get user input
CASE FIELD() !
OF ?Yes; bbRetVal = 1; BREAK !
OF ?No; bbRetVal = 0; BREAK !
. . ! End loop
CLOSE(wScreen) ! Close screens
RETURN(bbRetVal) ! Return boolean response